template: template application

This is a template application.  This application is a simple
hello world application that can be used as the base of other
applications.  It does the following:

1.  The development board is initialized and the POST tests
    are executed.
2.  The ThreadX kernel is loaded.
3.  The device drivers are loaded.
4.  The TCP/IP stack is loaded.
5.  The function applicationStart() is called.

Code to start the user application should be placed in the function
applicationStart().  This function is called after the TCP/IP stack
has loaded and is ready to be used.  Generally, you will create and 
start whatever threads your application needs in this function.  

Three Multi build files are provided.  The build file project.bld
is used to control how application specific files are built.  All
updates to the build should be made to this file.  Project.bld is 
a subproject to the other build files image.bld and rom.bld.  
Image.bld is used to generate a debuggable version of the 
application, and also creates the file image.bin that can be written
into ROM if the bootloader is used.  Rom.bld is used to generate a 
ROM image of the application if the bootloader is not used.

One GNU make file is provided.  Build the target 'image' to
generate an image that can be debugged with gdb, and the file 
image.bin which can be written to flash if the bootloader is used.
Build the target 'rom.bin' to create the file rom.bin which 
can be written to ROM if the bootloader is not used.

The following files are provided in this template.

appconf.h         sets application configuration settings
.\32b\image.bld   used to build the big endian Green Hills version of the
                  application.  The build script creates a version that
                  can be debugged with Multi, and the file image.bin 
                  which can be written into a ROM that uses the bootloader.
makefile          Make file for the GNU toolset.
project.bld       contains application specific build settings
readme            this file
.\32b\rom.bld     used to build the big endian ROM image of application
root.c            contains applicationStart() function


In addition, the following files in the BSP directory are built
as part of this application.

reset.s         contains the reset code
appconf_api.c   contains code used to read settings in appconf.h


The application build file links in the following libraries.  Most of these
libraries are not actually used by the "Hello World" application.  They are
included because this application is meant to be used as a template for
other applications that may use these libraries.  The linker only includes
the code in libraries that is actually used.  For example, none of the code
in the email client library will be linked into the "Hello World" application
since "Hello World" does not call any email APIs.

The library names are different for the GNU and Green Hills version of the
development kits.  All GNU libraries are prefixed with "lib".  For example,
the BSP library is named "bsp.a" in the Green Hills kit, and "libbsp.a" in
the GNU kit.  The names below are for the Green Hills version of the kit.

bsp.a           contains the BSP code
tcpip.a         contains the Net+Works TCP/IP stack
tx.a            contains the ThreadX kernel
filesys.a       contains the file system libraries
posix.lib       contains the POSIX layer libraries
flash.lib       contains the Flash driver API library
snmpd.lib       contains the SNMP daemon 
manapi.lib      contains the management API library
ftpclnt.lib     contains the FTP client library
ftpsvr.lib      contains the FTP server library
emailc.lib      contains the Email client library
telnsvr.lib     contains the Telnet server library
dnsclnt.lib     contains the DNS client library
fastip.lib      contains the Fast IP library
fsock.lib       contains the Fast socket library


The application uses the following files located in the
netos\src\linkerScripts directory.  These files are generated
when the BSP is built.

bootldr.dat     bootloader configuration file used to generate the
                file image.bin.  It controls the information placed
                in the bootloader header of the image.

image.ld        GNU linker script used to build an image that can
                be debugged and used with the bootloader.

image.lx        Green Hills linker script used to build an image
                that can be debugged and used with the bootloader.

rom.ld          GNU linker script used to build an image that will
                run from ROM.  The bootloader is not used with
                this type of image.

rom.lx          Green Hills linker script used to build an image
                that will run from ROM.  The bootloader is not used
                with this type of image.

